Skip to content

Port GAIA lint/format standards and refactor src to match#8

Merged
stevensacks merged 2 commits intomainfrom
chore/port-gaia-standards
Apr 29, 2026
Merged

Port GAIA lint/format standards and refactor src to match#8
stevensacks merged 2 commits intomainfrom
chore/port-gaia-standards

Conversation

@stevensacks
Copy link
Copy Markdown
Contributor

Summary

Adopts the relevant subset of GAIA's tooling — ESLint v9 + Prettier 3 via @gaia-react/lint, plus Claude Code skills/rules/hooks/agents — and refactors src/ to satisfy the new rule surface end to end. The full RR7/i18n/Conform/Vitest/Storybook stack from GAIA was deemed overkill for a 7-page Vite multi-entry marketing site and intentionally omitted.

Tooling spine

  • pnpm migration: npm → pnpm 10.33.0; package-lock.jsonpnpm-lock.yaml; GitHub Pages workflow updated to pnpm/action-setup@v4 with cache: pnpm
  • @gaia-react/lint ^1.1.1 wired in via eslint.config.mjs, consuming base, react, styleHygiene, guardrails, betterTailwind, prettier, ignores exports
  • Prettier 3 + prettier-plugin-tailwindcss for class sorting
  • New eslint.config.mjs and prettier.config.mjs

Refactor

  • 31 components converted from export default function Name() { … } to const Name = () => …; export default Name; to match prefer-arrow-functions intent (closes the upstream gap also addressed in gaia-react/lint#6)
  • ~40 mechanical refactors across src/ to clear the lint surface: FC typing, type imports, component extraction order, no-use-before-define, arrow-body-style, curly-apostrophe replacements in marketing copy
  • Custom marquee CSS lifted from inline <style> into styles.css with prefers-reduced-motion override

Verification

  • pnpm lint-all (typecheck + eslint + prettier) — clean
  • pnpm build — all 7 Vite entry points build successfully
  • Playwright visual smoke test — landing and /consulting/ render correctly

🤖 Generated with Claude Code

stevensacks and others added 2 commits April 30, 2026 04:54
Adopts the relevant subset of GAIA's tooling — ESLint v9 + Prettier 3
via @gaia-react/lint, plus Claude Code skills/rules/hooks/agents — and
refactors src to satisfy the new rule surface end to end.

- pnpm migration (npm → pnpm 10.33.0; pages.yml updated to pnpm/action-setup)
- @gaia-react/lint ^1.1.1 wired in via eslint.config.mjs (base, react,
  styleHygiene, guardrails, betterTailwind, prettier exports)
- prettier 3 with prettier-plugin-tailwindcss
- 31 components converted from `export default function Name()` to
  `const Name = () => …; export default Name;`
- ~40 mechanical refactors across src to clear the lint surface (FC
  typing, type imports, component extraction, no-use-before-define,
  arrow-body-style, etc.)
- Custom marquee CSS lifted from inline style block into styles.css
- styles.css augmented with reduced-motion override
- Curly apostrophes replacing straight `'` across marketing copy

Verified: pnpm lint-all (typecheck + eslint + prettier) and pnpm build
(all 7 Vite entry points) both clean. Visual smoke tested via Playwright
against landing and /consulting routes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Move 24 sections into per-page folders (home, docs, features,
  about, consulting, get-started, roadmap); shared Closing stays at top
- Drop unused StackRow.tsx
- Rename @theme color tokens to non-stuttering roles
  (canvas/surface/ink/muted/line) and sweep all utility usage
- Replace template-literal classNames with twJoin (adds tailwind-merge);
  fixes a missing-space bug in Stack hover state
- Convert px arbitrary values to canonical Tailwind units or rem
- Replace bg-[rgba(...)] accent literal with bg-accent/18

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stevensacks stevensacks merged commit fc90b5f into main Apr 29, 2026
@stevensacks stevensacks deleted the chore/port-gaia-standards branch April 29, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant